#include<iostream>
#include <vector>

using namespace std;
//
//class Solution {
//public:
//    void rotate(vector<int>& nums, int k) {
//        int n = nums.size();
//        vector<int> arr(n);
//        for (int i = 0; i < n; i++)
//        {
//            arr[(i + k) % n] = nums[i];
//        }
//        nums.assign(arr.begin(), arr.end());
//    }
//};




//
//class Solution {
//public:
//    void reverse(vector<int>& nums, int start, int end)
//    {
//        while (start < end)
//        {
//            swap(nums[start++], nums[end--]);
//        }
//    }
//    void rotate(vector<int>& nums, int k) {
//        k %= nums.size();
//        reverse(nums, 0, nums.size() - 1);
//        reverse(nums, 0, k - 1);
//        reverse(nums, k, nums.size() - 1);
//    }
//};
//int main()
//{
//	vector<int> vv;
//	vv.push_back(1);
//	vv.push_back(2);
//	vv.push_back(3);
//	vv.push_back(4);
//
//    rotate(vv,3);
//	return 0;  
//}
//
//
//#include<algorithm>
//
//class Solution {
//public:
//    void rotate(vector<int>& nums, int k) {
//        k %= nums.size();
//        reverse(nums.begin(), nums.end());
//        reverse(nums.begin(), nums.begin() + k);
//        reverse(nums.begin() + k, nums.end());
//    }
//};